//
//  BFSeaLevelProgressLayer.swift
//  CALayerDemo
//
//  Created by HJQ on 2018/7/14.
//  Copyright © 2018年 HJQ. All rights reserved.
//

import UIKit

// MARK: - 海平面圆弧进度条
class BFSeaLevelProgressLayer: BFBaseProgressLayer {

    override func draw(in ctx: CGContext) {

        // 获取到半径
        let radius = self.frame.width * 0.45
        let center = CGPoint.init(x: self.frame.width * 0.5, y: self.frame.height * 0.5)

        // 绘制灰色的占位圆环
        ctx.setStrokeColor(UIColor.gray.withAlphaComponent(0.8).cgColor)
        ctx.setLineWidth(radius * 0.07)
        // 在矩形内画圆
        ctx.addEllipse(in: CGRect.init(x: self.frame.width * 0.05, y: self.frame.height * 0.05, width: self.frame.width * 0.9, height: self.frame.height * 0.9))
        ctx.strokePath()

        // 设置画笔的颜色
        ctx.setFillColor(UIColor.cyan.cgColor)
        // 画圆弧 起点是 GFloat.pi * 1/2 终点是 GFloat.pi * 3/2 相隔 GFloat.pi
        let startAngle = CGFloat.pi * 0.5 - CGFloat(self.number) * CGFloat.pi
        let endAngle =  CGFloat.pi * 0.5 + CGFloat(self.number) * CGFloat.pi
        // clockwise 顺逆时针
        ctx.addArc(center: center, radius: radius, startAngle: startAngle, endAngle: endAngle, clockwise: false)
        // 关闭路径
        ctx.closePath()
        ctx.fillPath()
    }

}
